package com.jy.wms.dao;

import com.jy.wms.common.base.BaseDao;
import com.jy.wms.pojo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @ClassName: UserController
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @Author lh
 * @Date 2018/3/21 0021
 */
public interface WmsOrderReportMapper extends BaseDao<WmsOrderReport>{

    /**
     * ckid 仓库id
     * @return 查询所有货品
     */
     public List<WmsGoods> getAllGoods(@Param("ckid") String ckid,@Param("map") Map map);
     public int getAllGoodsCount(@Param("ckid") String ckid,@Param("map") Map map);

    /**
     * ckid 仓库id
     * @return 查询所有货品的id
     */
    public List<String> getAllHpid(@Param("ckid") String ckid,@Param("map") Map map);
    /**
     * 获取已发货订单产品数量
     * @return
     */
    public List<WmsOrderReport> getOrderProductCount(@Param("hpid") String hpid,@Param("map") Map map);

    /**
     * 定时器生成  获取已发货订单产品数量
     * @return
     */
    public List<WmsOrderReport> getOrderProductCount2(@Param("hpid") String hpid,@Param("WmsOrderReport") WmsOrderReport wmsOrderReport);
    /**
     * 获取已发货订单产品数量(最后一行的合计)
     * @return
     */
    public List<WmsOrderReport> getOrderProductTotal(@Param("map") Map map,@Param("list") List<String>hpid);
    /**
     * 定时器生成 获取已发货订单产品数量(最后一行的合计)
     * @return
     */
    public List<WmsOrderReport> getOrderProductTotal2(@Param("WmsOrderReport") WmsOrderReport wmsOrderReport,@Param("list") List<String>hpid);

    /**
     * 获取所有省的所发运所有货品的发运数量的总和
     * @param wmsOrderReport
     * @param hpid
     * @return
     */
    public String getTotalSum(@Param("map") Map map, @Param("list") List<String>hpid);

    /**
     * 定时器生成  获取所有省的所发运所有货品的发运数量的总和
     * @param wmsOrderReport
     * @param hpid
     * @return
     */
    public String getTotalSum2(@Param("WmsOrderReport") WmsOrderReport wmsOrderReport,@Param("list") List<String>hpid);






    /**
     * 获取已发货订单产品数量
     * @return
     */
    public List<WmsOrderReport> getSaleMoney(@Param("hpid") String hpid,@Param("map") Map map);


    /**
     * 获取已发货订单产品数量(最后一行的合计)
     * @return
     */
    public List<WmsOrderReport> getSaleMoneyTotal(@Param("map") Map map,@Param("list") List<String>hpid);


    /**
     * 获取所有省的所发运所有货品的发运数量的总和
     * @param wmsOrderReport
     * @param hpid
     * @return
     */
    public String getSaleMoneyTotalSum(@Param("map") Map map,@Param("list") List<String>hpid);













    /**
     * 查询所有的货品种类
     * @param ckid 仓库id
     * @return
     */

    public List<WmsGoodsType> getAllGoodsType(@Param("ckid") String ckid);

    /**
     * 查询所有货品种类id
     * @param ckid
     * @param page
     * @param rows
     * @return
     */
    public List<String>  getAllTypeIds(@Param("ckid") String ckid,@Param("page") Integer page,@Param("rows") Integer rows);
    /**
     *  根据货品种类查询该种类下的所有货品在不同省的销售总和
     * @param zlid  货品种类id
     * @param wmsOrderReport
     * @return
     */
    public List<WmsOrderReport> getProductMoney(@Param("zlid") String zlid,@Param("WmsOrderReport") WmsOrderReport wmsOrderReport);


    /**
     *
     * @param wmsOrderReport
     * @param typeIds 货品种类id
     * @return
     */
    public List<WmsOrderReport> getProductMoneyTotal(@Param("WmsOrderReport") WmsOrderReport wmsOrderReport,@Param("list") List<String>typeIds);

    /**
     * 查询所有省的所有或品种类的销售总和
     * @param wmsOrderReport
     * @param typeIds 货品种类id
     * @return
     */
    public String getMoneyTotalSum(@Param("WmsOrderReport") WmsOrderReport wmsOrderReport,@Param("list") List<String>typeIds);

}
